თავი 3. მართვის ელემენტის დაპროექტება ფორმაზე. ინტერაქტიული Web-გვერდის შექმნა
3.3.მართვის ელემენტი DropDownList

 
მართვის ელემენტში მონაცემების წამოდგენა მართვის ელემენტის ComboBox-ის იდენტურად  სიის სახით ხორციელდება.
სიის შევსება რამოდენომე ხერხით შეიძლება: პროგრამულ კოდში ან მონაცემების ბაზიდან. განვიხილოთ მონაცემების ბაზიდან მოძებნილი მონაცემებით სიის შევსება. ამისათვის საჭიროა:
დავამყაროთ კავშირი მონაცემების ბაზასთან;
  • ამოვარჩიოთ მონაცმები მონაცემების ბაზიდან;
  • თვისებით DataSource მითითება მივცეთ ბაზიდან წაკითხულ მონაცემებზე;
  • თვისებით DataTextField მითიუთოთ ბაზაში არსებული მართვის ელემენტზე გამოსატანი ველის (სვეტის) დასახელება;
  • მეთოდით DataBind დავაკავშიროთ მონაცემები მართვის ელემენტთან.
დავიტანოთ გვერდზე მართვის ელემენტი DropDownList დავწეროთ პროგრამა, რომელიც უზრუნველყოფს მონაცემების ბაზიდან ამორჩეული ჩანაწერების გარკვეული ველის მნიშვნელობების გამოტანას მართვის ელემენტში.
html კოდი შემდეგია:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title></head><body>
    <form id="form1" runat="server"><div> <br />
            &nbsp;<asp:DropDownList ID="DropDownList1" runat="server" Height="56px" Width="288px" Font-Names="AcadNusx" Font-Size="Small">
        </asp:DropDownList><br />
        <br /> &nbsp;<br /> &nbsp;<br /> <br /> </div></form></body>
</html>
გვერდის მოდულში ჩავწეროთ პროგრამები:
Private Function LoadData() As OleDbDataReader
        Dim kav As OleDbConnection
        Dim br As OleDbCommand
        Dim kit, prov, baza As String
        prov = "Provider=Microsoft.Jet.OLeDB.4.0;"
        baza = "Data Source=C:\Documents and Settings\Ruso\Desktop1\ekonfakulteti.mdb"
        kit = "Select gvari From tbstudentiz"
        kav = New OleDbConnection(prov & baza)
        kav.Open()
        br = New OleDbCommand(kit, kav)
        br.CommandType = Data.CommandType.Text
        Dim can As OleDbDataReader = br.ExecuteReader(Data.CommandBehavior.CloseConnection)
        Return can
    End Function
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DropDownList1.DataSource = LoadData()
        DropDownList1.DataTextField = "gvari"
        DropDownList1.DataBind()
End Sub
განვიხილოთ შემდეგი მაგალითი. 
გვერდზე დავიტანოთ მართვის ელემენტები TextBox და Button. მართვის ელემენტში  TextBox გვარის ჩაწერით ამოვარჩიოთ მონაცემების ბაზიდან ამ გვარის მატარებელი ყველა სტუდენტი. ამავე დროს გავითვალისწინოთ სიტუაცია, რომ გვარი შეიძლება სრულად არ იყოს ჩაწერილი ველში. გამოვიყენოთ შეკითხვა პარამეტრით. 
წინა პროგრამისგან განსხვავებით SQL შეკითხვაში დამატებულია პარამეტრის გამოცხადება და პროგრამის გამოძახება ხორციელდება ღილაკზე დაწაკაპუნების შემდეგ.
html კოდი შემდეგია:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title></head><body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" Font-Names="AcadNusx" Font-Size="Small"></asp:TextBox>
         <asp:Button ID="Button1" runat="server" Font-Names="AcadNusx" Height="24px" Text="SekiTxva" /><br />
        <br />
           &nbsp;<asp:DropDownList ID="DropDownList1" runat="server" Height="56px" Width="288px" Font-Names="AcadNusx" Font-Size="Small">
        </asp:DropDownList><br />
        <br /> &nbsp;<br /> &nbsp;<br /><br /></div></form></body>
</html>
გვერდის მოდულში ჩაწერილი პროგრამები შემდეგია:
Private Function LoadData() As OleDbDataReader
        Dim kav As OleDbConnection
        Dim br As OleDbCommand
        Dim kit, prov, baza, ans As String
        ans = Me.TextBox1.Text
        prov = "Provider=Microsoft.Jet.OLeDB.4.0;"
        baza = "Data Source=C:\Documents and Settings\Ruso\Desktop1\ekonfakulteti.mdb"
        kit = "Select gvari From tbstudentiz Where [gvari] Like '%' + ? + '%'"
        kav = New OleDbConnection(prov & baza)
        kav.Open()
        br = New OleDbCommand(kit, kav)
        br.CommandType = Data.CommandType.Text
  Dim par As OleDbParameter = New OleDbParameter
        par.OleDbType = OleDbType.VarWChar
        par.Value = ans
        br.Parameters.Add(par)
        Dim can As OleDbDataReader = br.ExecuteReader(Data.CommandBehavior.CloseConnection)
        Return can
    End Function
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        DropDownList1.DataSource = LoadData()
        DropDownList1.DataTextField = "gvari"
        DropDownList1.DataBind()
    End Sub
შემდეგ მაგალითი წინა მაგალითისგან მეორე მაგალითი განსხვავდება შემდეგით:
გვერდზე დატანილია დამატებით მართვის ელემენტი DataGrid;
მართვის ელემენტში  DropDownList-ში სიაში ერთერთი სტრიქონის მონიშვნის და ღილაკზე Button2 დაწკაპუნების შემდეგ მონაცემების ბაზიდან ამორჩეული ჩანაწერის შესახებ ინფორმაცია გამოიტანება მართვის ელემენტში DropDownList-ში.
html კოდი შემდეგია:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title></head><body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server" Font-Names="AcadNusx" Font-Size="Small"></asp:TextBox>
   <asp:Button ID="Button1" runat="server" Font-Names="AcadNusx" Height="24px" Text="SekiTxva" /><br />
        <br />         
        <asp:DropDownList ID="DropDownList1" runat="server" Height="56px" Width="288px" Font-Names="AcadNusx" Font-Size="Small">
        </asp:DropDownList>
        &nbsp;<asp:Button ID="Button2" runat="server" Font-Names="AcadNusx"
            Text="moZebna" />
        &nbsp;<asp:DataGrid ID="DataGrid1" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" Style="font-family: AcadNusx">
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditItemStyle BackColor="#2461BF" />
            <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
        <AlternatingItemStyle BackColor="White" />
            <ItemStyle BackColor="#EFF3FB" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
        </asp:DataGrid>
        <br /> </div></form></body>
</html>
გვერდის მოდულში ჩაწერილი პროგრამები შემდეგია:
    Private Function LoadData1() As OleDbDataReader
        Dim kav As OleDbConnection
        Dim br As OleDbCommand
        Dim kit, prov, baza, ango As String
        ango = Me.DropDownList1.SelectedValue
        prov = "Provider=Microsoft.Jet.OLeDB.4.0;"
        baza = "Data Source=C:\Documents and Settings\Ruso\Desktop1\ekonfakulteti.mdb"
        kit = "Select gvari,saxeli From tbstudentiz Where [gvari] Like '%'+?+'%'"
        kav = New OleDbConnection(prov & baza)
        kav.Open()
        br = New OleDbCommand(kit, kav)
        br.CommandType = Data.CommandType.Text
  Dim par As OleDbParameter = New OleDbParameter
        par.OleDbType = OleDbType.VarWChar
        par.Value = ango
        br.Parameters.Add(par)
        Dim can As OleDbDataReader = br.ExecuteReader(Data.CommandBehavior.CloseConnection)
        Return can
    End Function
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        DropDownList1.DataSource = LoadData()
         DropDownList1.DataTextField = "gvari"
        DropDownList1.DataBind()
    End Sub
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Me.DataGrid1.DataSource = LoadData1()
        Me.DataGrid1.DataBind()
    End Sub